package com.prokarma.pkmst.model;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.threeten.bp.OffsetDateTime;
/**
 * Response class to be returned by Api
 * @author pkmst
 *
 */
/**
 * 上行短信
 */
@ApiModel(description = "上行短信")

@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaPKMSTServerCodegen", date = "2021-01-17T02:02:42.424Z")

public class Deliver   {
  @JsonProperty("SmsId")
  private Long smsId = null;

  @JsonProperty("MsgID")
  private String msgID = null;

  @JsonProperty("RecvTime")
  private OffsetDateTime recvTime = null;

  @JsonProperty("SrcTermID")
  private String srcTermID = null;

  @JsonProperty("DestTermID")
  private String destTermID = null;

  @JsonProperty("MsgContent")
  private String msgContent = null;

  public Deliver smsId(Long smsId) {
    this.smsId = smsId;
    return this;
  }

   /**
   * 短信唯一标识
   * @return smsId
  **/
  @ApiModelProperty(value = "短信唯一标识")
  public Long getSmsId() {
    return smsId;
  }

  public void setSmsId(Long smsId) {
    this.smsId = smsId;
  }

  public Deliver msgID(String msgID) {
    this.msgID = msgID;
    return this;
  }

   /**
   * 网关短消息流水号
   * @return msgID
  **/
  @ApiModelProperty(value = "网关短消息流水号")
  public String getMsgID() {
    return msgID;
  }

  public void setMsgID(String msgID) {
    this.msgID = msgID;
  }

  public Deliver recvTime(OffsetDateTime recvTime) {
    this.recvTime = recvTime;
    return this;
  }

   /**
   * 接收时间
   * @return recvTime
  **/
  @ApiModelProperty(value = "接收时间")
  public OffsetDateTime getRecvTime() {
    return recvTime;
  }

  public void setRecvTime(OffsetDateTime recvTime) {
    this.recvTime = recvTime;
  }

  public Deliver srcTermID(String srcTermID) {
    this.srcTermID = srcTermID;
    return this;
  }

   /**
   * 发信人
   * @return srcTermID
  **/
  @ApiModelProperty(value = "发信人")
  public String getSrcTermID() {
    return srcTermID;
  }

  public void setSrcTermID(String srcTermID) {
    this.srcTermID = srcTermID;
  }

  public Deliver destTermID(String destTermID) {
    this.destTermID = destTermID;
    return this;
  }

   /**
   * 收信人
   * @return destTermID
  **/
  @ApiModelProperty(value = "收信人")
  public String getDestTermID() {
    return destTermID;
  }

  public void setDestTermID(String destTermID) {
    this.destTermID = destTermID;
  }

  public Deliver msgContent(String msgContent) {
    this.msgContent = msgContent;
    return this;
  }

   /**
   * 短信内容
   * @return msgContent
  **/
  @ApiModelProperty(value = "短信内容")
  public String getMsgContent() {
    return msgContent;
  }

  public void setMsgContent(String msgContent) {
    this.msgContent = msgContent;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Deliver deliver = (Deliver) o;
    return Objects.equals(this.smsId, deliver.smsId) &&
        Objects.equals(this.msgID, deliver.msgID) &&
        Objects.equals(this.recvTime, deliver.recvTime) &&
        Objects.equals(this.srcTermID, deliver.srcTermID) &&
        Objects.equals(this.destTermID, deliver.destTermID) &&
        Objects.equals(this.msgContent, deliver.msgContent);
  }

  @Override
  public int hashCode() {
    return Objects.hash(smsId, msgID, recvTime, srcTermID, destTermID, msgContent);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class Deliver {\n");
    
    sb.append("    smsId: ").append(toIndentedString(smsId)).append("\n");
    sb.append("    msgID: ").append(toIndentedString(msgID)).append("\n");
    sb.append("    recvTime: ").append(toIndentedString(recvTime)).append("\n");
    sb.append("    srcTermID: ").append(toIndentedString(srcTermID)).append("\n");
    sb.append("    destTermID: ").append(toIndentedString(destTermID)).append("\n");
    sb.append("    msgContent: ").append(toIndentedString(msgContent)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

